package hrhq.cntvcn.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class HrhqImageExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public HrhqImageExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andImageIdIsNull() {
            addCriterion("image_id is null");
            return (Criteria) this;
        }

        public Criteria andImageIdIsNotNull() {
            addCriterion("image_id is not null");
            return (Criteria) this;
        }

        public Criteria andImageIdEqualTo(String value) {
            addCriterion("image_id =", value, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdNotEqualTo(String value) {
            addCriterion("image_id <>", value, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdGreaterThan(String value) {
            addCriterion("image_id >", value, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdGreaterThanOrEqualTo(String value) {
            addCriterion("image_id >=", value, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdLessThan(String value) {
            addCriterion("image_id <", value, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdLessThanOrEqualTo(String value) {
            addCriterion("image_id <=", value, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdLike(String value) {
            addCriterion("image_id like", value, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdNotLike(String value) {
            addCriterion("image_id not like", value, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdIn(List<String> values) {
            addCriterion("image_id in", values, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdNotIn(List<String> values) {
            addCriterion("image_id not in", values, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdBetween(String value1, String value2) {
            addCriterion("image_id between", value1, value2, "imageId");
            return (Criteria) this;
        }

        public Criteria andImageIdNotBetween(String value1, String value2) {
            addCriterion("image_id not between", value1, value2, "imageId");
            return (Criteria) this;
        }

        public Criteria andFirmIdIsNull() {
            addCriterion("firm_id is null");
            return (Criteria) this;
        }

        public Criteria andFirmIdIsNotNull() {
            addCriterion("firm_id is not null");
            return (Criteria) this;
        }

        public Criteria andFirmIdEqualTo(String value) {
            addCriterion("firm_id =", value, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdNotEqualTo(String value) {
            addCriterion("firm_id <>", value, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdGreaterThan(String value) {
            addCriterion("firm_id >", value, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdGreaterThanOrEqualTo(String value) {
            addCriterion("firm_id >=", value, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdLessThan(String value) {
            addCriterion("firm_id <", value, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdLessThanOrEqualTo(String value) {
            addCriterion("firm_id <=", value, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdLike(String value) {
            addCriterion("firm_id like", value, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdNotLike(String value) {
            addCriterion("firm_id not like", value, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdIn(List<String> values) {
            addCriterion("firm_id in", values, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdNotIn(List<String> values) {
            addCriterion("firm_id not in", values, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdBetween(String value1, String value2) {
            addCriterion("firm_id between", value1, value2, "firmId");
            return (Criteria) this;
        }

        public Criteria andFirmIdNotBetween(String value1, String value2) {
            addCriterion("firm_id not between", value1, value2, "firmId");
            return (Criteria) this;
        }

        public Criteria andMenu1IdIsNull() {
            addCriterion("menu1_id is null");
            return (Criteria) this;
        }

        public Criteria andMenu1IdIsNotNull() {
            addCriterion("menu1_id is not null");
            return (Criteria) this;
        }

        public Criteria andMenu1IdEqualTo(String value) {
            addCriterion("menu1_id =", value, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdNotEqualTo(String value) {
            addCriterion("menu1_id <>", value, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdGreaterThan(String value) {
            addCriterion("menu1_id >", value, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdGreaterThanOrEqualTo(String value) {
            addCriterion("menu1_id >=", value, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdLessThan(String value) {
            addCriterion("menu1_id <", value, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdLessThanOrEqualTo(String value) {
            addCriterion("menu1_id <=", value, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdLike(String value) {
            addCriterion("menu1_id like", value, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdNotLike(String value) {
            addCriterion("menu1_id not like", value, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdIn(List<String> values) {
            addCriterion("menu1_id in", values, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdNotIn(List<String> values) {
            addCriterion("menu1_id not in", values, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdBetween(String value1, String value2) {
            addCriterion("menu1_id between", value1, value2, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu1IdNotBetween(String value1, String value2) {
            addCriterion("menu1_id not between", value1, value2, "menu1Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdIsNull() {
            addCriterion("menu2_id is null");
            return (Criteria) this;
        }

        public Criteria andMenu2IdIsNotNull() {
            addCriterion("menu2_id is not null");
            return (Criteria) this;
        }

        public Criteria andMenu2IdEqualTo(String value) {
            addCriterion("menu2_id =", value, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdNotEqualTo(String value) {
            addCriterion("menu2_id <>", value, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdGreaterThan(String value) {
            addCriterion("menu2_id >", value, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdGreaterThanOrEqualTo(String value) {
            addCriterion("menu2_id >=", value, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdLessThan(String value) {
            addCriterion("menu2_id <", value, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdLessThanOrEqualTo(String value) {
            addCriterion("menu2_id <=", value, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdLike(String value) {
            addCriterion("menu2_id like", value, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdNotLike(String value) {
            addCriterion("menu2_id not like", value, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdIn(List<String> values) {
            addCriterion("menu2_id in", values, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdNotIn(List<String> values) {
            addCriterion("menu2_id not in", values, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdBetween(String value1, String value2) {
            addCriterion("menu2_id between", value1, value2, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu2IdNotBetween(String value1, String value2) {
            addCriterion("menu2_id not between", value1, value2, "menu2Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdIsNull() {
            addCriterion("menu3_id is null");
            return (Criteria) this;
        }

        public Criteria andMenu3IdIsNotNull() {
            addCriterion("menu3_id is not null");
            return (Criteria) this;
        }

        public Criteria andMenu3IdEqualTo(String value) {
            addCriterion("menu3_id =", value, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdNotEqualTo(String value) {
            addCriterion("menu3_id <>", value, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdGreaterThan(String value) {
            addCriterion("menu3_id >", value, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdGreaterThanOrEqualTo(String value) {
            addCriterion("menu3_id >=", value, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdLessThan(String value) {
            addCriterion("menu3_id <", value, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdLessThanOrEqualTo(String value) {
            addCriterion("menu3_id <=", value, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdLike(String value) {
            addCriterion("menu3_id like", value, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdNotLike(String value) {
            addCriterion("menu3_id not like", value, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdIn(List<String> values) {
            addCriterion("menu3_id in", values, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdNotIn(List<String> values) {
            addCriterion("menu3_id not in", values, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdBetween(String value1, String value2) {
            addCriterion("menu3_id between", value1, value2, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andMenu3IdNotBetween(String value1, String value2) {
            addCriterion("menu3_id not between", value1, value2, "menu3Id");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andGroupIdIsNull() {
            addCriterion("group_id is null");
            return (Criteria) this;
        }

        public Criteria andGroupIdIsNotNull() {
            addCriterion("group_id is not null");
            return (Criteria) this;
        }

        public Criteria andGroupIdEqualTo(String value) {
            addCriterion("group_id =", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotEqualTo(String value) {
            addCriterion("group_id <>", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdGreaterThan(String value) {
            addCriterion("group_id >", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdGreaterThanOrEqualTo(String value) {
            addCriterion("group_id >=", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdLessThan(String value) {
            addCriterion("group_id <", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdLessThanOrEqualTo(String value) {
            addCriterion("group_id <=", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdLike(String value) {
            addCriterion("group_id like", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotLike(String value) {
            addCriterion("group_id not like", value, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdIn(List<String> values) {
            addCriterion("group_id in", values, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotIn(List<String> values) {
            addCriterion("group_id not in", values, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdBetween(String value1, String value2) {
            addCriterion("group_id between", value1, value2, "groupId");
            return (Criteria) this;
        }

        public Criteria andGroupIdNotBetween(String value1, String value2) {
            addCriterion("group_id not between", value1, value2, "groupId");
            return (Criteria) this;
        }

        public Criteria andImageIndexIsNull() {
            addCriterion("image_index is null");
            return (Criteria) this;
        }

        public Criteria andImageIndexIsNotNull() {
            addCriterion("image_index is not null");
            return (Criteria) this;
        }

        public Criteria andImageIndexEqualTo(Integer value) {
            addCriterion("image_index =", value, "imageIndex");
            return (Criteria) this;
        }

        public Criteria andImageIndexNotEqualTo(Integer value) {
            addCriterion("image_index <>", value, "imageIndex");
            return (Criteria) this;
        }

        public Criteria andImageIndexGreaterThan(Integer value) {
            addCriterion("image_index >", value, "imageIndex");
            return (Criteria) this;
        }

        public Criteria andImageIndexGreaterThanOrEqualTo(Integer value) {
            addCriterion("image_index >=", value, "imageIndex");
            return (Criteria) this;
        }

        public Criteria andImageIndexLessThan(Integer value) {
            addCriterion("image_index <", value, "imageIndex");
            return (Criteria) this;
        }

        public Criteria andImageIndexLessThanOrEqualTo(Integer value) {
            addCriterion("image_index <=", value, "imageIndex");
            return (Criteria) this;
        }

        public Criteria andImageIndexIn(List<Integer> values) {
            addCriterion("image_index in", values, "imageIndex");
            return (Criteria) this;
        }

        public Criteria andImageIndexNotIn(List<Integer> values) {
            addCriterion("image_index not in", values, "imageIndex");
            return (Criteria) this;
        }

        public Criteria andImageIndexBetween(Integer value1, Integer value2) {
            addCriterion("image_index between", value1, value2, "imageIndex");
            return (Criteria) this;
        }

        public Criteria andImageIndexNotBetween(Integer value1, Integer value2) {
            addCriterion("image_index not between", value1, value2, "imageIndex");
            return (Criteria) this;
        }

        public Criteria andImageTypeIsNull() {
            addCriterion("image_type is null");
            return (Criteria) this;
        }

        public Criteria andImageTypeIsNotNull() {
            addCriterion("image_type is not null");
            return (Criteria) this;
        }

        public Criteria andImageTypeEqualTo(String value) {
            addCriterion("image_type =", value, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeNotEqualTo(String value) {
            addCriterion("image_type <>", value, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeGreaterThan(String value) {
            addCriterion("image_type >", value, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeGreaterThanOrEqualTo(String value) {
            addCriterion("image_type >=", value, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeLessThan(String value) {
            addCriterion("image_type <", value, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeLessThanOrEqualTo(String value) {
            addCriterion("image_type <=", value, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeLike(String value) {
            addCriterion("image_type like", value, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeNotLike(String value) {
            addCriterion("image_type not like", value, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeIn(List<String> values) {
            addCriterion("image_type in", values, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeNotIn(List<String> values) {
            addCriterion("image_type not in", values, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeBetween(String value1, String value2) {
            addCriterion("image_type between", value1, value2, "imageType");
            return (Criteria) this;
        }

        public Criteria andImageTypeNotBetween(String value1, String value2) {
            addCriterion("image_type not between", value1, value2, "imageType");
            return (Criteria) this;
        }

        public Criteria andAuthorIsNull() {
            addCriterion("author is null");
            return (Criteria) this;
        }

        public Criteria andAuthorIsNotNull() {
            addCriterion("author is not null");
            return (Criteria) this;
        }

        public Criteria andAuthorEqualTo(String value) {
            addCriterion("author =", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotEqualTo(String value) {
            addCriterion("author <>", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorGreaterThan(String value) {
            addCriterion("author >", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorGreaterThanOrEqualTo(String value) {
            addCriterion("author >=", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorLessThan(String value) {
            addCriterion("author <", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorLessThanOrEqualTo(String value) {
            addCriterion("author <=", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorLike(String value) {
            addCriterion("author like", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotLike(String value) {
            addCriterion("author not like", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorIn(List<String> values) {
            addCriterion("author in", values, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotIn(List<String> values) {
            addCriterion("author not in", values, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorBetween(String value1, String value2) {
            addCriterion("author between", value1, value2, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotBetween(String value1, String value2) {
            addCriterion("author not between", value1, value2, "author");
            return (Criteria) this;
        }

        public Criteria andOnlineDateIsNull() {
            addCriterion("online_date is null");
            return (Criteria) this;
        }

        public Criteria andOnlineDateIsNotNull() {
            addCriterion("online_date is not null");
            return (Criteria) this;
        }

        public Criteria andOnlineDateEqualTo(Date value) {
            addCriterion("online_date =", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateNotEqualTo(Date value) {
            addCriterion("online_date <>", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateGreaterThan(Date value) {
            addCriterion("online_date >", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateGreaterThanOrEqualTo(Date value) {
            addCriterion("online_date >=", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateLessThan(Date value) {
            addCriterion("online_date <", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateLessThanOrEqualTo(Date value) {
            addCriterion("online_date <=", value, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateIn(List<Date> values) {
            addCriterion("online_date in", values, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateNotIn(List<Date> values) {
            addCriterion("online_date not in", values, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateBetween(Date value1, Date value2) {
            addCriterion("online_date between", value1, value2, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOnlineDateNotBetween(Date value1, Date value2) {
            addCriterion("online_date not between", value1, value2, "onlineDate");
            return (Criteria) this;
        }

        public Criteria andOflineDateIsNull() {
            addCriterion("ofline_date is null");
            return (Criteria) this;
        }

        public Criteria andOflineDateIsNotNull() {
            addCriterion("ofline_date is not null");
            return (Criteria) this;
        }

        public Criteria andOflineDateEqualTo(Date value) {
            addCriterion("ofline_date =", value, "oflineDate");
            return (Criteria) this;
        }

        public Criteria andOflineDateNotEqualTo(Date value) {
            addCriterion("ofline_date <>", value, "oflineDate");
            return (Criteria) this;
        }

        public Criteria andOflineDateGreaterThan(Date value) {
            addCriterion("ofline_date >", value, "oflineDate");
            return (Criteria) this;
        }

        public Criteria andOflineDateGreaterThanOrEqualTo(Date value) {
            addCriterion("ofline_date >=", value, "oflineDate");
            return (Criteria) this;
        }

        public Criteria andOflineDateLessThan(Date value) {
            addCriterion("ofline_date <", value, "oflineDate");
            return (Criteria) this;
        }

        public Criteria andOflineDateLessThanOrEqualTo(Date value) {
            addCriterion("ofline_date <=", value, "oflineDate");
            return (Criteria) this;
        }

        public Criteria andOflineDateIn(List<Date> values) {
            addCriterion("ofline_date in", values, "oflineDate");
            return (Criteria) this;
        }

        public Criteria andOflineDateNotIn(List<Date> values) {
            addCriterion("ofline_date not in", values, "oflineDate");
            return (Criteria) this;
        }

        public Criteria andOflineDateBetween(Date value1, Date value2) {
            addCriterion("ofline_date between", value1, value2, "oflineDate");
            return (Criteria) this;
        }

        public Criteria andOflineDateNotBetween(Date value1, Date value2) {
            addCriterion("ofline_date not between", value1, value2, "oflineDate");
            return (Criteria) this;
        }

        public Criteria andModifyDateIsNull() {
            addCriterion("modify_date is null");
            return (Criteria) this;
        }

        public Criteria andModifyDateIsNotNull() {
            addCriterion("modify_date is not null");
            return (Criteria) this;
        }

        public Criteria andModifyDateEqualTo(Date value) {
            addCriterion("modify_date =", value, "modifyDate");
            return (Criteria) this;
        }

        public Criteria andModifyDateNotEqualTo(Date value) {
            addCriterion("modify_date <>", value, "modifyDate");
            return (Criteria) this;
        }

        public Criteria andModifyDateGreaterThan(Date value) {
            addCriterion("modify_date >", value, "modifyDate");
            return (Criteria) this;
        }

        public Criteria andModifyDateGreaterThanOrEqualTo(Date value) {
            addCriterion("modify_date >=", value, "modifyDate");
            return (Criteria) this;
        }

        public Criteria andModifyDateLessThan(Date value) {
            addCriterion("modify_date <", value, "modifyDate");
            return (Criteria) this;
        }

        public Criteria andModifyDateLessThanOrEqualTo(Date value) {
            addCriterion("modify_date <=", value, "modifyDate");
            return (Criteria) this;
        }

        public Criteria andModifyDateIn(List<Date> values) {
            addCriterion("modify_date in", values, "modifyDate");
            return (Criteria) this;
        }

        public Criteria andModifyDateNotIn(List<Date> values) {
            addCriterion("modify_date not in", values, "modifyDate");
            return (Criteria) this;
        }

        public Criteria andModifyDateBetween(Date value1, Date value2) {
            addCriterion("modify_date between", value1, value2, "modifyDate");
            return (Criteria) this;
        }

        public Criteria andModifyDateNotBetween(Date value1, Date value2) {
            addCriterion("modify_date not between", value1, value2, "modifyDate");
            return (Criteria) this;
        }

        public Criteria andIsCheckIsNull() {
            addCriterion("is_check is null");
            return (Criteria) this;
        }

        public Criteria andIsCheckIsNotNull() {
            addCriterion("is_check is not null");
            return (Criteria) this;
        }

        public Criteria andIsCheckEqualTo(String value) {
            addCriterion("is_check =", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckNotEqualTo(String value) {
            addCriterion("is_check <>", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckGreaterThan(String value) {
            addCriterion("is_check >", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckGreaterThanOrEqualTo(String value) {
            addCriterion("is_check >=", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckLessThan(String value) {
            addCriterion("is_check <", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckLessThanOrEqualTo(String value) {
            addCriterion("is_check <=", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckLike(String value) {
            addCriterion("is_check like", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckNotLike(String value) {
            addCriterion("is_check not like", value, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckIn(List<String> values) {
            addCriterion("is_check in", values, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckNotIn(List<String> values) {
            addCriterion("is_check not in", values, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckBetween(String value1, String value2) {
            addCriterion("is_check between", value1, value2, "isCheck");
            return (Criteria) this;
        }

        public Criteria andIsCheckNotBetween(String value1, String value2) {
            addCriterion("is_check not between", value1, value2, "isCheck");
            return (Criteria) this;
        }

        public Criteria andClickNumIsNull() {
            addCriterion("click_num is null");
            return (Criteria) this;
        }

        public Criteria andClickNumIsNotNull() {
            addCriterion("click_num is not null");
            return (Criteria) this;
        }

        public Criteria andClickNumEqualTo(Integer value) {
            addCriterion("click_num =", value, "clickNum");
            return (Criteria) this;
        }

        public Criteria andClickNumNotEqualTo(Integer value) {
            addCriterion("click_num <>", value, "clickNum");
            return (Criteria) this;
        }

        public Criteria andClickNumGreaterThan(Integer value) {
            addCriterion("click_num >", value, "clickNum");
            return (Criteria) this;
        }

        public Criteria andClickNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("click_num >=", value, "clickNum");
            return (Criteria) this;
        }

        public Criteria andClickNumLessThan(Integer value) {
            addCriterion("click_num <", value, "clickNum");
            return (Criteria) this;
        }

        public Criteria andClickNumLessThanOrEqualTo(Integer value) {
            addCriterion("click_num <=", value, "clickNum");
            return (Criteria) this;
        }

        public Criteria andClickNumIn(List<Integer> values) {
            addCriterion("click_num in", values, "clickNum");
            return (Criteria) this;
        }

        public Criteria andClickNumNotIn(List<Integer> values) {
            addCriterion("click_num not in", values, "clickNum");
            return (Criteria) this;
        }

        public Criteria andClickNumBetween(Integer value1, Integer value2) {
            addCriterion("click_num between", value1, value2, "clickNum");
            return (Criteria) this;
        }

        public Criteria andClickNumNotBetween(Integer value1, Integer value2) {
            addCriterion("click_num not between", value1, value2, "clickNum");
            return (Criteria) this;
        }

        public Criteria andIsTransmitIsNull() {
            addCriterion("is_transmit is null");
            return (Criteria) this;
        }

        public Criteria andIsTransmitIsNotNull() {
            addCriterion("is_transmit is not null");
            return (Criteria) this;
        }

        public Criteria andIsTransmitEqualTo(Short value) {
            addCriterion("is_transmit =", value, "isTransmit");
            return (Criteria) this;
        }

        public Criteria andIsTransmitNotEqualTo(Short value) {
            addCriterion("is_transmit <>", value, "isTransmit");
            return (Criteria) this;
        }

        public Criteria andIsTransmitGreaterThan(Short value) {
            addCriterion("is_transmit >", value, "isTransmit");
            return (Criteria) this;
        }

        public Criteria andIsTransmitGreaterThanOrEqualTo(Short value) {
            addCriterion("is_transmit >=", value, "isTransmit");
            return (Criteria) this;
        }

        public Criteria andIsTransmitLessThan(Short value) {
            addCriterion("is_transmit <", value, "isTransmit");
            return (Criteria) this;
        }

        public Criteria andIsTransmitLessThanOrEqualTo(Short value) {
            addCriterion("is_transmit <=", value, "isTransmit");
            return (Criteria) this;
        }

        public Criteria andIsTransmitIn(List<Short> values) {
            addCriterion("is_transmit in", values, "isTransmit");
            return (Criteria) this;
        }

        public Criteria andIsTransmitNotIn(List<Short> values) {
            addCriterion("is_transmit not in", values, "isTransmit");
            return (Criteria) this;
        }

        public Criteria andIsTransmitBetween(Short value1, Short value2) {
            addCriterion("is_transmit between", value1, value2, "isTransmit");
            return (Criteria) this;
        }

        public Criteria andIsTransmitNotBetween(Short value1, Short value2) {
            addCriterion("is_transmit not between", value1, value2, "isTransmit");
            return (Criteria) this;
        }

        public Criteria andImgPath1IsNull() {
            addCriterion("img_path1 is null");
            return (Criteria) this;
        }

        public Criteria andImgPath1IsNotNull() {
            addCriterion("img_path1 is not null");
            return (Criteria) this;
        }

        public Criteria andImgPath1EqualTo(String value) {
            addCriterion("img_path1 =", value, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1NotEqualTo(String value) {
            addCriterion("img_path1 <>", value, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1GreaterThan(String value) {
            addCriterion("img_path1 >", value, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1GreaterThanOrEqualTo(String value) {
            addCriterion("img_path1 >=", value, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1LessThan(String value) {
            addCriterion("img_path1 <", value, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1LessThanOrEqualTo(String value) {
            addCriterion("img_path1 <=", value, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1Like(String value) {
            addCriterion("img_path1 like", value, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1NotLike(String value) {
            addCriterion("img_path1 not like", value, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1In(List<String> values) {
            addCriterion("img_path1 in", values, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1NotIn(List<String> values) {
            addCriterion("img_path1 not in", values, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1Between(String value1, String value2) {
            addCriterion("img_path1 between", value1, value2, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath1NotBetween(String value1, String value2) {
            addCriterion("img_path1 not between", value1, value2, "imgPath1");
            return (Criteria) this;
        }

        public Criteria andImgPath2IsNull() {
            addCriterion("img_path2 is null");
            return (Criteria) this;
        }

        public Criteria andImgPath2IsNotNull() {
            addCriterion("img_path2 is not null");
            return (Criteria) this;
        }

        public Criteria andImgPath2EqualTo(String value) {
            addCriterion("img_path2 =", value, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2NotEqualTo(String value) {
            addCriterion("img_path2 <>", value, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2GreaterThan(String value) {
            addCriterion("img_path2 >", value, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2GreaterThanOrEqualTo(String value) {
            addCriterion("img_path2 >=", value, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2LessThan(String value) {
            addCriterion("img_path2 <", value, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2LessThanOrEqualTo(String value) {
            addCriterion("img_path2 <=", value, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2Like(String value) {
            addCriterion("img_path2 like", value, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2NotLike(String value) {
            addCriterion("img_path2 not like", value, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2In(List<String> values) {
            addCriterion("img_path2 in", values, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2NotIn(List<String> values) {
            addCriterion("img_path2 not in", values, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2Between(String value1, String value2) {
            addCriterion("img_path2 between", value1, value2, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath2NotBetween(String value1, String value2) {
            addCriterion("img_path2 not between", value1, value2, "imgPath2");
            return (Criteria) this;
        }

        public Criteria andImgPath3IsNull() {
            addCriterion("img_path3 is null");
            return (Criteria) this;
        }

        public Criteria andImgPath3IsNotNull() {
            addCriterion("img_path3 is not null");
            return (Criteria) this;
        }

        public Criteria andImgPath3EqualTo(String value) {
            addCriterion("img_path3 =", value, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3NotEqualTo(String value) {
            addCriterion("img_path3 <>", value, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3GreaterThan(String value) {
            addCriterion("img_path3 >", value, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3GreaterThanOrEqualTo(String value) {
            addCriterion("img_path3 >=", value, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3LessThan(String value) {
            addCriterion("img_path3 <", value, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3LessThanOrEqualTo(String value) {
            addCriterion("img_path3 <=", value, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3Like(String value) {
            addCriterion("img_path3 like", value, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3NotLike(String value) {
            addCriterion("img_path3 not like", value, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3In(List<String> values) {
            addCriterion("img_path3 in", values, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3NotIn(List<String> values) {
            addCriterion("img_path3 not in", values, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3Between(String value1, String value2) {
            addCriterion("img_path3 between", value1, value2, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andImgPath3NotBetween(String value1, String value2) {
            addCriterion("img_path3 not between", value1, value2, "imgPath3");
            return (Criteria) this;
        }

        public Criteria andIsRecommendIsNull() {
            addCriterion("is_recommend is null");
            return (Criteria) this;
        }

        public Criteria andIsRecommendIsNotNull() {
            addCriterion("is_recommend is not null");
            return (Criteria) this;
        }

        public Criteria andIsRecommendEqualTo(Byte value) {
            addCriterion("is_recommend =", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendNotEqualTo(Byte value) {
            addCriterion("is_recommend <>", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendGreaterThan(Byte value) {
            addCriterion("is_recommend >", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_recommend >=", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendLessThan(Byte value) {
            addCriterion("is_recommend <", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendLessThanOrEqualTo(Byte value) {
            addCriterion("is_recommend <=", value, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendIn(List<Byte> values) {
            addCriterion("is_recommend in", values, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendNotIn(List<Byte> values) {
            addCriterion("is_recommend not in", values, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendBetween(Byte value1, Byte value2) {
            addCriterion("is_recommend between", value1, value2, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andIsRecommendNotBetween(Byte value1, Byte value2) {
            addCriterion("is_recommend not between", value1, value2, "isRecommend");
            return (Criteria) this;
        }

        public Criteria andInitStatusIsNull() {
            addCriterion("init_status is null");
            return (Criteria) this;
        }

        public Criteria andInitStatusIsNotNull() {
            addCriterion("init_status is not null");
            return (Criteria) this;
        }

        public Criteria andInitStatusEqualTo(Integer value) {
            addCriterion("init_status =", value, "initStatus");
            return (Criteria) this;
        }

        public Criteria andInitStatusNotEqualTo(Integer value) {
            addCriterion("init_status <>", value, "initStatus");
            return (Criteria) this;
        }

        public Criteria andInitStatusGreaterThan(Integer value) {
            addCriterion("init_status >", value, "initStatus");
            return (Criteria) this;
        }

        public Criteria andInitStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("init_status >=", value, "initStatus");
            return (Criteria) this;
        }

        public Criteria andInitStatusLessThan(Integer value) {
            addCriterion("init_status <", value, "initStatus");
            return (Criteria) this;
        }

        public Criteria andInitStatusLessThanOrEqualTo(Integer value) {
            addCriterion("init_status <=", value, "initStatus");
            return (Criteria) this;
        }

        public Criteria andInitStatusIn(List<Integer> values) {
            addCriterion("init_status in", values, "initStatus");
            return (Criteria) this;
        }

        public Criteria andInitStatusNotIn(List<Integer> values) {
            addCriterion("init_status not in", values, "initStatus");
            return (Criteria) this;
        }

        public Criteria andInitStatusBetween(Integer value1, Integer value2) {
            addCriterion("init_status between", value1, value2, "initStatus");
            return (Criteria) this;
        }

        public Criteria andInitStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("init_status not between", value1, value2, "initStatus");
            return (Criteria) this;
        }

        public Criteria andSourceIsNull() {
            addCriterion("source is null");
            return (Criteria) this;
        }

        public Criteria andSourceIsNotNull() {
            addCriterion("source is not null");
            return (Criteria) this;
        }

        public Criteria andSourceEqualTo(String value) {
            addCriterion("source =", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotEqualTo(String value) {
            addCriterion("source <>", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceGreaterThan(String value) {
            addCriterion("source >", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceGreaterThanOrEqualTo(String value) {
            addCriterion("source >=", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLessThan(String value) {
            addCriterion("source <", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLessThanOrEqualTo(String value) {
            addCriterion("source <=", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceLike(String value) {
            addCriterion("source like", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotLike(String value) {
            addCriterion("source not like", value, "source");
            return (Criteria) this;
        }

        public Criteria andSourceIn(List<String> values) {
            addCriterion("source in", values, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotIn(List<String> values) {
            addCriterion("source not in", values, "source");
            return (Criteria) this;
        }

        public Criteria andSourceBetween(String value1, String value2) {
            addCriterion("source between", value1, value2, "source");
            return (Criteria) this;
        }

        public Criteria andSourceNotBetween(String value1, String value2) {
            addCriterion("source not between", value1, value2, "source");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}